#pragma warning(disable : 4996)
//#include<stdio.h>
//int main()
//{
//	int numsize = 5;
//	int val = 0;
//	int num[] = { 0,2,3,4,5 };
//	for (int i = 0; i < numsize; i++)
//	{
//		val ^= num[i];
//	}
//	for (int i = 0; i <=numsize; i++)
//	{
//		val ^= i;
//	}
//	printf("%d", val);
//
//
//
//
//
//	return 0;
//}



#include<stdio.h>
#include<string.h>
void rotate(int* nums, int numsSize, int k) {


	int b = numsSize;
	if (k > b)
	{
		k %= b;
	}
	int a = 0;
	for (int i = 0; i < k / 2; i++)
	{
		a = nums[b - k + i];
		nums[b - k + i] = nums[b - 1 - i];
		nums[b - 1 - i] = a;
	}
	for (int i = 0; i < (b - k) / 2; i++)
	{
		a = nums[i];
		nums[i] = nums[b - k - 1 - i];
		nums[b - k - 1 - i] = a;

	}
	for (int i = 0; i < b / 2; i++)
	{
		a = nums[i];
		nums[i] = nums[b - 1 - i];
		nums[b - 1 - i] = a;

	}

}

int main()
{
	int arr[] = {-1};
	int k = 0;
	scanf("%d", &k);
	int b = sizeof(arr)/sizeof(arr[0]);
	if (k > b)
	{
		k %= b;
	}
	char a = 0;
	for (int i = 0; i <k/2; i++)
	{
		a = arr[b-k+i];
		arr[b - k + i] = arr[b - 1 - i];
		arr[b- 1 - i] = a;
	}
	for (int i = 0; i < (b-k)/2; i++)
	{
		a = arr[i];
		arr[i] = arr[b - k - 1 - i];
		arr[b - k - 1 - i] = a;

	}
	for (int i = 0; i < b / 2;i++)
	{
		a = arr[i];
		arr[i] = arr[b - 1 - i];
		arr[b - 1 - i] = a;

	}
	

	rotate(arr, b, k);







	return 0;
}

//
//#include<stdio.h>
//int missingNumber(int* nums, int numsSize) {
//	int k = 0;
//	for (int i = 0; i <= numsSize; i++)
//	{
//		k ^= i;
//	}
//	for (int i = 0; i < numsSize; i++)
//	{
//		k ^= nums[i];
//	}
//	return k;
//
//
//}
//int main()
//{
//	int arr[] = { 0,1,2,3,5 };
//	int numsize = 5;
//	int miss=missingNumber(arr, numsize);
//	printf("%d", miss);
//
//
//
//
//
//	return 0;
//}


//#include<stdio.h>
//int add(int n)
//{
//	int i, a = 0, b = 0, c = 0, k = 0, d = 0, sum = 0;
//	for (i = 1; i <= n; i++)
//	{
//		if (i == 1)
//		{
//			a = 1;
//			sum += 1;
//		}
//		else if (i == 2)
//		{
//			b = 1;
//			sum += 1;
//		}
//		else if (i == 3)
//		{
//			c = 1;
//			sum += 1;
//		}
//		else
//		{
//			k = c;
//			c = a + b + c;
//			d = b;
//			b = k;
//			a = d;
//			sum += c;
//		}
//	}
//	return sum;
//}
//int main()
//{
//
//	int n;
//	scanf("%d", &n);
//	int ret = add(n);
//	printf("%d", ret);
//
//
//
//
//}
//
//
//
//#include<stdio.h>
//int add(int n)
//{
//	int i, s2=0;
//	int f[1000];
//	for ( i = 0; i < n; i++)
//	{
//		if (i == 0||i==1||i==2)
//		{
//			f[i] = 1;
//		}
//		else
//		{
//			f[i] = f[i - 1] + f[i - 2] + f[i - 3];
//		}
//		s2 = s2 + f[i];
//	}
//	return s2;
//
//
//
//
//
//}
//int main()
//{
//	int n;
//	scanf("%d", &n);
//	int ret = add(n);
//	printf("%d", ret);
//
//
//
//
//	return 0;
//}


//# include <stdio.h>
//
//int main() {
//	int n, a = 1, b = 1, c = 1, d, sum = 3;
//	scanf("%d", &n);
//	if (n <= 3)
//		sum = n;
//	for (int i = 4; i <= n; i += 1)
//	{
//		d = a + b + c;
//		a = b; 
//		b = c ;
//		c = d;
//		sum += d;
//	}
//	printf("%d", sum);
//}